using System;
using System.Collections.Generic;

namespace libcharakter
{
	namespace Talente
	{
		namespace Wissen
		{
			[Serializable]
			public class WissenTalent : abTalent
			{
				public WissenTalent (string name, int value, Charakter charakter)
					: base(name,value,TalentType.Wissen, TableColum.B, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return false;
				}
			}
			[Serializable]
			public class Anatomie : WissenTalent
			{
				public Anatomie (int value, Charakter charakter) : base("Anatomie", value,charakter) { }

				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Mut"], eg["Klugheit"], eg["Fingerfertigkeit"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class BrettKartenspiel : WissenTalent
			{
				public BrettKartenspiel (int value, Charakter charakter) : base("Brett-/Kartenspiel", value,charakter) { }

				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Klugheit"], eg["Intuition"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Geographie : WissenTalent
			{
				public Geographie (int value, Charakter charakter) : base("Geographie", value,charakter) { }

				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Klugheit"], eg["Intuition"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Geschichtswissen : WissenTalent
			{
				public Geschichtswissen (int value, Charakter charakter) : base("Geschichtswissen", value,charakter) { }

				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Klugheit"], eg["Intuition"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Gesteinskunde : WissenTalent
			{
				public Gesteinskunde (int value, Charakter charakter) : base("Gesteinskunde", value,charakter) { }

				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Intuition"], eg["Fingerfertigkeit"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class GoetterKulte : WissenTalent
			{
				public GoetterKulte (int value, Charakter charakter) : base("Götter/Kulte", value,charakter) { }

				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Klugheit"], eg["Intuition"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Heraldik : WissenTalent
			{
				public Heraldik (int value, Charakter charakter) : base("Heraldik", value,charakter) { }

				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Klugheit"], eg["Fingerfertigkeit"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Kriegskunst : WissenTalent
			{
				public Kriegskunst (int value, Charakter charakter) : base("Kriegskunst", value,charakter) { }

				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Mut"], eg["Klugheit"], eg["Charisma"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Magiekunde : WissenTalent
			{
				public Magiekunde (int value, Charakter charakter) : base("Magiekunde", value,charakter) { }

				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Klugheit"], eg["Intuition"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Mechanik : WissenTalent
			{
				public Mechanik (int value, Charakter charakter) : base("Mechanik", value,charakter) { }

				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Klugheit"], eg["Fingerfertigkeit"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Pflanzenkunde : WissenTalent
			{
				public Pflanzenkunde (int value, Charakter charakter) : base("Pflanzenkunde", value,charakter) { }

				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Intuition"], eg["Fingerfertigkeit"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Rechnen : WissenTalent
			{
				public Rechnen (int value, Charakter charakter) : base("Rechnen", value,charakter) { }

				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Klugheit"], eg["Intuition"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Rechtskunde : WissenTalent
			{
				public Rechtskunde (int value, Charakter charakter) : base("Rechtskunde", value,charakter) { }

				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Klugheit"], eg["Intuition"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class SagenLegenden : WissenTalent
			{
				public SagenLegenden (int value, Charakter charakter) : base("SagenLegenden", value,charakter) { }

				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Intuition"], eg["Charisma"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Schaetzen : WissenTalent
			{
				public Schaetzen (int value, Charakter charakter) : base("Schätzen", value,charakter) { }

				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Intuition"], eg["Charisma"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Sprachkunde : WissenTalent
			{
				public Sprachkunde (int value, Charakter charakter) : base("Sprachkunde", value,charakter) { }

				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Klugheit"], eg["Intuition"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Sternkunde : WissenTalent
			{
				public Sternkunde (int value, Charakter charakter) : base("Sternkunde", value,charakter) { }

				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe (eg["Klugheit"], eg["Klugheit"], eg["Intuition"], wert1, wert2, wert3, erschwert, ref rest);
				}
			}
			[Serializable]
			public class Tierkunde : WissenTalent
			{
				public Tierkunde (int value, Charakter charakter) : base("Tierkunde", value,charakter) { }

		public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
		{
			return Probe (eg["Mut"], eg["Klugheit"], eg["Intuition"], wert1, wert2, wert3, erschwert, ref rest);
		}
	}
		}
	}


}

